package com.weilan.blog.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.weilan.blog.admin.vo.BlogTagVO;
import com.weilan.blog.base.service.SuperService;

import com.weilan.blog.admin.entity.BlogTag;

import java.util.List;

/**
 * @description:
 * @author: 孙 峰
 * @time: 2020/9/27 10:35
 */
public interface BlogTagService extends SuperService<BlogTag> {
    /**
     * 获取博客标签列表
     *
     * @param blogTagVO
     * @return
     */
    public IPage<BlogTag> getPageList(BlogTagVO blogTagVO);

    /**
     * 获取全部博客标签列表
     *
     * @return
     */
    public List<BlogTag> getList();

    /**
     * 新增博客标签
     *
     * @param tagVO
     */
    public String addTag(BlogTagVO tagVO);

    /**
     * 编辑博客标签
     *
     * @param tagVO
     */
    public String editTag(BlogTagVO tagVO);

    /**
     * 批量删除博客标签
     *
     * @param tagVOList
     */
    public String deleteBatchBlogTag(List<BlogTagVO> tagVOList);


    /**
     * 根据id批量删除
     * @param ids
     * @return
     */
    public String deleteBatchBlogTag( String [] ids);

    /**
     * 置顶博客标签
     *
     * @param tagVO
     */
    public String stickBlogTag(BlogTagVO tagVO);

    /**
     * 通过点击量排序博客
     *
     * @return
     */
    public String tagSortByClickCount();

    /**
     * 通过引用量排序博客
     *
     * @return
     */
    public String tagSortByCite();

    /**
     * 获取热门标签
     *
     * @return
     */
    public IPage<BlogTag> getHotTag(Integer hotTagCount);

    /**
     * 获取一个排序最高的标签
     *
     * @return
     */
    public BlogTag getTopTag();
}
